/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Logistica.Controlador;


import com.dp1.pucp.Modelo.Clases.*;
import com.dp1.pucp.Logistica.DAO.*;
import com.dp1.pucp.Logistica.Vista.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

/**
 *
 * @author ubuntu64
 */
public class LineaPedidoCompraControlador {
    private TipoProductoDAO m;
    private LineaPedidoCompraGUI LineaPedidoCompraView;
    private LineaPedidoCompraControlador lineaPedidoControlador;
    private MantLineaPedidoCompraGUI MantLineaPedidoCompraView;
    private Lineapedidocompra LineaPedido;
    private Tipoproducto TipoProducto;
    private ArrayList<String> lstTipo;
    private MantLineaPedidoCompraControlador mantLineaPedidoCompraControlador;

    public LineaPedidoCompraControlador(TipoProductoDAO dao, LineaPedidoCompraGUI view, MantLineaPedidoCompraGUI q,MantLineaPedidoCompraControlador buc, Lineapedidocompra linea,Tipoproducto tipo,String cod){
        m = dao;
        LineaPedidoCompraView = view;
        MantLineaPedidoCompraView=q;
        
        if (buc!=null){
            mantLineaPedidoCompraControlador=buc;
        }
        LineaPedido=linea;
        TipoProducto=tipo;
        LineaPedidoCompraView.setFormUsuario(TipoProducto,cod);
        
        LineaPedidoCompraView.addCancelarListener(new cancelarListener());
        LineaPedidoCompraView.addLimpiarListener(new limpiarListener());              
        LineaPedidoCompraView.addGuardarListener(new guardarLineaListener());
        LineaPedidoCompraView.addBuscarListener(new buscarListener(this));
       
    }
    
    public LineaPedidoCompraControlador(TipoProductoDAO dao, LineaPedidoCompraGUI view, Lineapedidocompra q,String cod, MantLineaPedidoCompraControlador buc){
        m = dao;
        LineaPedidoCompraView = view;
        LineaPedido=q;
        
        //if (buc!=null){
          //  lineaPedidoControlador=buc;
        //}
        mantLineaPedidoCompraControlador=buc;
        //LineaPedido=linea;
        //TipoProducto=tipo;
        LineaPedidoCompraView.setFormUsuario(LineaPedido,cod);
        
        LineaPedidoCompraView.addCancelarListener(new cancelarListener());
        LineaPedidoCompraView.addLimpiarListener(new limpiarListener());              
        LineaPedidoCompraView.addGuardarListener(new guardarLineaListener());
        LineaPedidoCompraView.addBuscarListener(new buscarListener(this));
       
    }
   
    
    
    class buscarListener implements ActionListener{
        
        private LineaPedidoCompraControlador buc;
        public buscarListener(LineaPedidoCompraControlador buscarusr){
            buc=buscarusr;
        }
              
        @Override
        public void actionPerformed(ActionEvent e) {
            BuscarMateriaPrimaGUI p = new BuscarMateriaPrimaGUI(LineaPedidoCompraView.getPadre(), true);
            BuscarMateriaPrimaControlador d = new BuscarMateriaPrimaControlador(m,p,LineaPedidoCompraView,mantLineaPedidoCompraControlador);

            p.setVisible(true);
        }      
    }
      
    class guardarLineaListener implements ActionListener{

        private MantPedidoCompraControlador buc;
        @Override
        public void actionPerformed(ActionEvent e) {
            Lineapedidocompra a = new Lineapedidocompra();
            Tipoproducto b=new Tipoproducto();
            Pedidocompra c=new Pedidocompra();
            Proveedor d=new Proveedor();
            Moneda f=new Moneda();
            
            String cantidad=LineaPedidoCompraView.getCantidad();
            String codTipo=LineaPedidoCompraView.getCodTipoProducto();
            String codPedido=LineaPedidoCompraView.getCodPedido();
            
            b.setIdtipoproducto(Integer.parseInt(codTipo));
            c.setIdpedidocompra(Integer.parseInt(codPedido));
            d.setIdproveedor(1);
            f.setIdmoneda(1);
            
            a.setMoneda(f);
            
            a.setIdlineapedidocompra(LineaPedidoCompraView.lineaPedido.getIdlineapedidocompra());
            //a.setCosto(Float.parseFloat("10.00"));
            a.setTipoproducto(b);
            a.setPedidocompra(c);
            a.setCantidad(Float.parseFloat(cantidad));
            //a.setProveedor(d);
            int codPe=Integer.parseInt(codPedido);
            
            //MantLineaPedidoCompraControlador c = new MantLineaPedidoCompraControlador(m,MantLineaPedidoCompraView,buc,null,nombre,cantidad);
             if (LineaPedido!=null)
                a.setIdlineapedidocompra(LineaPedido.getIdlineapedidocompra());
             
            m.guardarLineaPedido(a);
 
             //MantLineaPedidoCompraControlador mantLineaPedidoCompraControlador=new MantLineaPedidoCompraControlador();
            mantLineaPedidoCompraControlador.listarResultados(codPe);
            
            LineaPedidoCompraView.dispose();
         
        }
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            LineaPedidoCompraView.dispose();
        }        
    }    
           
    
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            LineaPedidoCompraView.LimpiarDatos();
        }        
    } 
}
